package controller

import (
	"ksd-social-api/commons/base/controller"
	"ksd-social-api/modules/common/oss/service"
)

type OssAliyunController struct {
	controller.BaseController
}

var ossUplaodService = service.OssUplaodService{}

/**
 * @desc 本地文件上传
 * @author feige
 * @date 2023-11-07
 * @version 1.0
 */
func (web *OssAliyunController) UploadFile() {
	bucketName := "study512"
	// 获取前端传递过来的业务模块的路径
	modelPath := web.GetString("path", "articles")
	filename := web.GetString("oldname", "")
	// 接受客户端上传过来的文件信息
	file, header, err := web.GetFile("file")
	if err != nil {
		web.FailCodeMsg(601, "你上传的文件有误或者不能为空!!")
		return
	}
	// 开始写入到oss服务器中
	ossFileVo := ossUplaodService.UploadOssFile(bucketName, modelPath, web.GetUuid(), filename, file, header)
	// 返回
	web.Ok(ossFileVo)
}

/**
 * @desc 本地文件上传----小册
 * @author feige
 * @date 2023-11-07
 * @version 1.0
 */
func (web *OssAliyunController) UploadFileNote() {
	bucketName := "study512"
	// 获取前端传递过来的业务模块的路径
	modelPath := web.GetString("path", "notes")
	filename := web.GetString("oldname", "")
	// 接受客户端上传过来的文件信息
	file, header, err := web.GetFile("editormd-image-file")
	if err != nil {
		web.FailCodeMsg(601, "你上传的文件有误或者不能为空!!")
		return
	}
	// 开始写入到oss服务器中
	ossFileVo := ossUplaodService.UploadOssFile(bucketName, modelPath, web.GetUuid(), filename, file, header)
	// 返回
	m := map[string]any{}
	m["success"] = "1"
	m["message"] = "upload success"
	m["url"] = ossFileVo.Url
	web.Data["json"] = m
	web.ServeJSON()

}

/**
 * @desc 本地文件上传----小册
 * @author feige
 * @date 2023-11-07
 * @version 1.0
 */
func (web *OssAliyunController) UploadFileBbs() {
	bucketName := "study512"
	// 获取前端传递过来的业务模块的路径
	modelPath := web.GetString("path", "topics")
	filename := web.GetString("oldname", "")
	// 接受客户端上传过来的文件信息
	file, header, err := web.GetFile("editormd-image-file")
	if err != nil {
		web.FailCodeMsg(601, "你上传的文件有误或者不能为空!!")
		return
	}
	// 开始写入到oss服务器中
	ossFileVo := ossUplaodService.UploadOssFile(bucketName, modelPath, web.GetUuid(), filename, file, header)
	// 返回
	m := map[string]any{}
	m["success"] = "1"
	m["message"] = "upload success"
	m["url"] = ossFileVo.Url
	web.Data["json"] = m
	web.ServeJSON()
}
